// let p = new Promise((resolve, reject) => {})

//1. 引入 redux 中的 createStore 函数
import {createStore} from 'redux';

//2. 声明初始化数据  『可以是任意类型的值』
let init = 0;

//3. 创建状态仓库对象  createStore 是一个高阶函数
// 参数: 是一个函数 『reducer』函数  加工函数,  加工处理状态
// state: 状态数据
// action: 是一个对象, 一般的结构为: {type:'jia', data: 10}    {type: '买', data: '矿泉水'}  {type:'扔', data: '这些垃圾'}
let store = createStore((state=init, action) => {
    //根据操作的类型与数据, 对 state 数据进行操作
    switch(action.type){
        // {action: 'jia', data: 10}
        case 'jia':
           return state + action.data;   
        // {action: 'jian', data: 5}
        case 'jian':
            return state - action.data;
        //其他操作  如果是其他操作, 就直接返回 state 的值
        default: 
            return state;
    }
});

//测试
//增加 100
store.dispatch({type: 'jia', data: 100}); // dispatch 分配任务
store.dispatch({type: 'jian', data: 40})

//查看状态结果
console.log(store.getState()); // getState  获取内部的状态值

